namespace gen {

	template <typename DerivedT>
    template <typename InfoT>
	void
	report<DerivedT>::generate(InfoT & info) const
    {
		typedef typename DerivedT::template etat<InfoT> etat_t;
		static etat_t etat(this->derived()); // only one instance
		etat.start().generate(info);
    }

}
